#!/bin/bash

# 记账本 - 正式发布版APK构建脚本

echo "📱 开始构建记账本正式版APK..."
echo ""

# 设置环境变量
export ANDROID_HOME="/home/zhangdaye/Android"
export ANDROID_SDK_ROOT="/home/zhangdaye/Android"
export JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"

PROJECT_ROOT="/home/zhangdaye/node_vue"
cd "$PROJECT_ROOT"

echo "🌍 环境信息:"
echo "   项目目录: $PROJECT_ROOT"
echo "   Android SDK: $ANDROID_HOME"
echo "   Java版本: $(java -version 2>&1 | head -1)"
echo ""

# 第一步：构建前端
echo "🔨 步骤 1/3: 构建前端项目..."
cd frontend
npm run build-only
if [ $? -ne 0 ]; then
    echo "❌ 前端构建失败"
    exit 1
fi
echo "✅ 前端构建完成"
echo ""

# 第二步：复制文件到Cordova项目
echo "📋 步骤 2/3: 准备Cordova项目..."
cd "$PROJECT_ROOT"
rm -rf mobile/www/*
cp -r frontend/dist/* mobile/www/
echo "✅ 文件复制完成"
echo ""

# 第三步：构建APK
echo "🏗️  步骤 3/3: 构建Android APK..."
cd mobile

# 确保Android平台存在
cordova platform add android >/dev/null 2>&1 || echo "   Android平台已存在"

# 构建release版本
echo "   正在编译APK，请稍候..."
cordova build android --release -- --packageType=apk

if [ $? -eq 0 ]; then
    echo ""
    echo "🎉 APK构建成功！"
    echo ""
    
    # 查找生成的APK文件
    APK_FILE=$(find platforms/android/app/build/outputs/apk -name "*.apk" -type f | grep -v "unaligned" | head -1)
    
    if [ -n "$APK_FILE" ]; then
        # 获取文件信息
        APK_SIZE=$(du -h "$APK_FILE" | cut -f1)
        APK_DATE=$(date +"%Y%m%d_%H%M%S")
        OUTPUT_NAME="记账本_v1.0.0_${APK_DATE}.apk"
        
        # 复制到项目根目录
        cp "$APK_FILE" "$PROJECT_ROOT/$OUTPUT_NAME"
        
        echo "📦 APK文件信息:"
        echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
        echo "   文件名: $OUTPUT_NAME"
        echo "   位置: $PROJECT_ROOT/"
        echo "   大小: $APK_SIZE"
        echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
        echo ""
        echo "📲 安装说明:"
        echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
        echo ""
        echo "方法一：USB传输安装"
        echo "   1. 将APK文件复制到Android设备"
        echo "   2. 在设备上找到文件管理器"
        echo "   3. 点击APK文件安装"
        echo ""
        echo "方法二：通过微信/QQ发送"
        echo "   1. 将APK发送给自己（文件传输助手）"
        echo "   2. 在手机上接收并下载"
        echo "   3. 点击文件安装"
        echo ""
        echo "方法三：通过网盘分享"
        echo "   1. 上传到百度网盘/阿里云盘等"
        echo "   2. 在手机上下载"
        echo "   3. 点击文件安装"
        echo ""
        echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
        echo ""
        echo "⚠️  首次安装提示:"
        echo "   • 需要在手机设置中允许安装未知来源应用"
        echo "   • 路径：设置 → 安全 → 未知来源 → 允许"
        echo "   • 某些手机可能需要单独授权给浏览器或文件管理器"
        echo ""
        echo "✨ 应用特性:"
        echo "   • 完全离线运行，无需网络连接"
        echo "   • 所有数据存储在本地数据库"
        echo "   • 支持分类管理、统计分析、数据导出等功能"
        echo ""
        echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
        
        # 显示APK路径
        echo ""
        echo "📂 APK完整路径:"
        echo "   $PROJECT_ROOT/$OUTPUT_NAME"
        echo ""
        
    else
        echo "❌ 未找到生成的APK文件"
        echo "检查构建输出:"
        find platforms/android -name "*.apk" -type f 2>/dev/null || echo "没有找到APK文件"
        exit 1
    fi
else
    echo "❌ APK构建失败"
    echo ""
    echo "🔧 故障排除建议:"
    echo "1. 检查Java版本: java -version"
    echo "2. 检查Android SDK: ls -la $ANDROID_HOME/platforms/"
    echo "3. 检查构建工具: ls -la $ANDROID_HOME/build-tools/"
    echo "4. 运行诊断: cordova requirements android"
    exit 1
fi

